package com.codeyang.service;

import com.codeyang.domain.Basket;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codeyang.dto.CartMoney;
import com.codeyang.dto.ShopCartResult;

import java.util.List;

/**
 * 描述: TO-删除标志-DO
 *
 * @author CodeYang_Site
 * @version 2021/5/31 9:45
 */
public interface BasketService extends IService<Basket> {

    /**
     * 根据用户id查询用户购物车商品数量
     *
     * @param userId
     * @return
     */
    Integer findCartCount(String userId);

    /**
     * 修改购物车商品
     * 增加|减少 到购物车
     * 前端做了一个 值处理, 是一个正负值的处理,只需要加就完事了
     *
     * @param basket
     */
    void changeCartItem(Basket basket);

    /**
     * 根据登录用户的id查询组装 购物车对象
     * @param userId
     * @return
     */
    List<ShopCartResult> findCartInfoByUser(String userId);

    /**
     * 计算购物车中选中商品的总价
     * @param basketIds
     * @return
     */
    CartMoney calculateCartMoney(List<Long> basketIds);
}
